﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Banesco.Logica
{
    public class HelperAccountService
    {
        public static Banesco.Entidades.AccountsMessage ConvertirAccountsMessage(AccountService.AccountsMessage accountsMessage, ref Banesco.Entidades.AccountsMessage accountsMessageReturn)
        {
            accountsMessageReturn.user = accountsMessage.user;
            accountsMessageReturn.accountNumber = accountsMessage.accountNumber;
            accountsMessageReturn.customerNumber = accountsMessage.customerNumber;
            accountsMessageReturn.customerId = accountsMessage.customerId;
            accountsMessageReturn.productCode = accountsMessage.productCode;
            accountsMessageReturn.bank = accountsMessage.bank;
            accountsMessageReturn.currency = accountsMessage.currency;
            accountsMessageReturn.branch = accountsMessage.branch;
            accountsMessageReturn.glAccount = accountsMessage.glAccount;
            accountsMessageReturn.customerName = accountsMessage.customerName;
            accountsMessageReturn.accountType = accountsMessage.accountType;
            accountsMessageReturn.accountTypeDesc = accountsMessage.accountTypeDesc;
            accountsMessageReturn.productCodeDesc = accountsMessage.productCodeDesc;
            accountsMessageReturn.appCode = accountsMessage.appCode;
            accountsMessageReturn.officialCode = accountsMessage.officialCode;
            accountsMessageReturn.costCenter = accountsMessage.costCenter;
            accountsMessageReturn.openingDate = accountsMessage.openingDate;
            accountsMessageReturn.tariffTable = accountsMessage.tariffTable;
            accountsMessageReturn.userCode1 = accountsMessage.userCode1;
            accountsMessageReturn.userCode2 = accountsMessage.userCode2;
            accountsMessageReturn.userCode3 = accountsMessage.userCode3;
            accountsMessageReturn.userCode4 = accountsMessage.userCode4;
            accountsMessageReturn.taxesWitholdingFlag = accountsMessage.taxesWitholdingFlag;
            accountsMessageReturn.checkingType = accountsMessage.checkingType;
            accountsMessageReturn.minimumCheckingStock = accountsMessage.minimumCheckingStock;
            accountsMessageReturn.serviceChargesFlag = accountsMessage.serviceChargesFlag;
            accountsMessageReturn.overdraftsChargesFlag = accountsMessage.overdraftsChargesFlag;
            accountsMessageReturn.overdraftAmountUsed = accountsMessage.overdraftAmountUsed;
            accountsMessageReturn.overdraftFrecuency = accountsMessage.overdraftFrecuency;
            accountsMessageReturn.chargesPaymentDay = accountsMessage.chargesPaymentDay;
            accountsMessageReturn.accountStatementRetentionFlag = accountsMessage.accountStatementRetentionFlag;
            accountsMessageReturn.accountStatementFrecuency = accountsMessage.accountStatementFrecuency;
            accountsMessageReturn.accountStatementPrintingDay = accountsMessage.accountStatementPrintingDay;
            accountsMessageReturn.accountStatementType = accountsMessage.accountStatementType;
            accountsMessageReturn.consolidatedStatementFlag = accountsMessage.consolidatedStatementFlag;
            accountsMessageReturn.dailyStatementAccountVia = accountsMessage.dailyStatementAccountVia;
            accountsMessageReturn.clientLinMultiuse = accountsMessage.clientLinMultiuse;
            accountsMessageReturn.clientLinNumber = accountsMessage.clientLinNumber;
            accountsMessageReturn.sendingChannel = accountsMessage.sendingChannel;
            accountsMessageReturn.personalizationCheck1 = accountsMessage.personalizationCheck1;
            accountsMessageReturn.personalizationCheck2 = accountsMessage.personalizationCheck2;
            accountsMessageReturn.checkingChargesFlag = accountsMessage.checkingChargesFlag;
            accountsMessageReturn.checkingChargesRestriction = accountsMessage.checkingChargesRestriction;
            accountsMessageReturn.interestPaymentFlag = accountsMessage.interestPaymentFlag;
            accountsMessageReturn.accountStatus = accountsMessage.accountStatus;
            accountsMessageReturn.mailingAddress = accountsMessage.mailingAddress;
            accountsMessageReturn.creditLineNumber = accountsMessage.creditLineNumber;
            accountsMessageReturn.creditLineType = accountsMessage.creditLineType;

            return accountsMessageReturn;
        }

        public static AccountService.AccountsMessage ConvertirAccountsMessage(Banesco.Entidades.AccountsMessage accountsMessage, ref AccountService.AccountsMessage accountsMessageReturn)
        {
            accountsMessageReturn.user = accountsMessage.user;
            accountsMessageReturn.accountNumber = accountsMessage.accountNumber;
            accountsMessageReturn.customerNumber = accountsMessage.customerNumber;
            accountsMessageReturn.customerId = accountsMessage.customerId;
            accountsMessageReturn.productCode = accountsMessage.productCode;
            accountsMessageReturn.bank = accountsMessage.bank;
            accountsMessageReturn.currency = accountsMessage.currency;
            accountsMessageReturn.branch = accountsMessage.branch;
            accountsMessageReturn.glAccount = accountsMessage.glAccount;
            accountsMessageReturn.customerName = accountsMessage.customerName;
            accountsMessageReturn.accountType = accountsMessage.accountType;
            accountsMessageReturn.accountTypeDesc = accountsMessage.accountTypeDesc;
            accountsMessageReturn.productCodeDesc = accountsMessage.productCodeDesc;
            accountsMessageReturn.appCode = accountsMessage.appCode;
            accountsMessageReturn.officialCode = accountsMessage.officialCode;
            accountsMessageReturn.costCenter = accountsMessage.costCenter;
            accountsMessageReturn.openingDate = accountsMessage.openingDate;
            accountsMessageReturn.tariffTable = accountsMessage.tariffTable;
            accountsMessageReturn.userCode1 = accountsMessage.userCode1;
            accountsMessageReturn.userCode2 = accountsMessage.userCode2;
            accountsMessageReturn.userCode3 = accountsMessage.userCode3;
            accountsMessageReturn.userCode4 = accountsMessage.userCode4;
            accountsMessageReturn.taxesWitholdingFlag = accountsMessage.taxesWitholdingFlag;
            accountsMessageReturn.checkingType = accountsMessage.checkingType;
            accountsMessageReturn.minimumCheckingStock = accountsMessage.minimumCheckingStock;
            accountsMessageReturn.serviceChargesFlag = accountsMessage.serviceChargesFlag;
            accountsMessageReturn.overdraftsChargesFlag = accountsMessage.overdraftsChargesFlag;
            accountsMessageReturn.overdraftAmountUsed = accountsMessage.overdraftAmountUsed;
            accountsMessageReturn.overdraftFrecuency = accountsMessage.overdraftFrecuency;
            accountsMessageReturn.chargesPaymentDay = accountsMessage.chargesPaymentDay;
            accountsMessageReturn.accountStatementRetentionFlag = accountsMessage.accountStatementRetentionFlag;
            accountsMessageReturn.accountStatementFrecuency = accountsMessage.accountStatementFrecuency;
            accountsMessageReturn.accountStatementPrintingDay = accountsMessage.accountStatementPrintingDay;
            accountsMessageReturn.accountStatementType = accountsMessage.accountStatementType;
            accountsMessageReturn.consolidatedStatementFlag = accountsMessage.consolidatedStatementFlag;
            accountsMessageReturn.dailyStatementAccountVia = accountsMessage.dailyStatementAccountVia;
            accountsMessageReturn.clientLinMultiuse = accountsMessage.clientLinMultiuse;
            accountsMessageReturn.clientLinNumber = accountsMessage.clientLinNumber;
            accountsMessageReturn.sendingChannel = accountsMessage.sendingChannel;
            accountsMessageReturn.personalizationCheck1 = accountsMessage.personalizationCheck1;
            accountsMessageReturn.personalizationCheck2 = accountsMessage.personalizationCheck2;
            accountsMessageReturn.checkingChargesFlag = accountsMessage.checkingChargesFlag;
            accountsMessageReturn.checkingChargesRestriction = accountsMessage.checkingChargesRestriction;
            accountsMessageReturn.interestPaymentFlag = accountsMessage.interestPaymentFlag;
            accountsMessageReturn.accountStatus = accountsMessage.accountStatus;
            accountsMessageReturn.mailingAddress = accountsMessage.mailingAddress;
            accountsMessageReturn.creditLineNumber = accountsMessage.creditLineNumber;
            accountsMessageReturn.creditLineType = accountsMessage.creditLineType;

            return accountsMessageReturn;
        }
    }
}
